# _*_coding : UTF-8_*_
import time
import allure
from selenium.webdriver.common.by import By
from Enterprise_wechat_web.PageObject.Base_page import BasePage
from Enterprise_wechat_web.PageObject.member_page import MemberPage
import logging


class AddressPage(BasePage):
    _base_url = "https://work.weixin.qq.com/wework_admin/frame#contacts" # 通讯录界面

    # 点击添加成员页面
    get_tianjian_member=(By.LINK_TEXT, "添加成员")

    # 获取成员列表
    get_huoqu_list=(By.CSS_SELECTOR, '.member_colRight_memberTable_td:nth-child(2)')

    # 删除成员定位元素
    get_xuanzhong_01=(By.XPATH, '//*[@id="member_list"]/tr[1]/td[1]')
    get_shanchu=(By.LINK_TEXT, "删除")
    get_queren=(By.XPATH, '//*[@id="__dialog__MNDialog__"]/div/div[3]/a[1]')

    def get_member(self):
        """
        跳转到添加成员页面 
        :return: 返回添加成员实例对象
        """
        # 点击添加成员
        with allure.step("点击添加成员"):
            self.find(self.get_tianjian_member).click()
        time.sleep(2)
        return MemberPage(self.driver)

    @allure.title("获取成员列表")
    def ge_member_list(self):
        """
        获取成员列表
        """
        # 添加的成员姓名
        result=self.driver.find_elements(*self.get_huoqu_list) # 注意获取列表多个值时用find_elements_by_css_selector
        name_list=[i.text for i in result] # 获取列表
        logging.info(f'获取成员列表:{name_list}')
        return name_list

    @allure.title("删除成员")
    def del_member(self):

        """
        删除通讯列表数据
        """
        # 选择要删除数据
        self.find(self.get_xuanzhong_01).click()
        # 点击删除
        self.find(self.get_shanchu).click()
        time.sleep(1)
        # 确定
        self.find(self.get_queren).click()
        logging.info("删除成功")
        time.sleep(1)
        # 保存截图到指定路径
        self.driver.get_screenshot_as_file("../jietu/删除成员成功.png")
        # allure报告展示截图
        allure.attach(self.driver.get_screenshot_as_png(), "删除成员成功_截图", allure.attachment_type.PNG)

        result=self.driver.find_element_by_id('js_tips').text
        return result



